
using System;
using System.Collections.Generic;
using Dict.DataModel;

namespace Dict.Dao
{
    public class TableGameConfigureDao:DaoBase<TableGameConfigure>
    {
        public TableGameConfigure currentData;

        public override string GetFileName()
        {
            return "TableGameConfigure.txt";
        }

        public override void LoadData(string path)
        {
            DictFileReader dfr = new DictFileReader(path + "/" + GetFileName());

            for (int i = 0; i < 5; ++i)
            {
                dfr.ReadRow();
            }
            cacheList = new List<TableGameConfigure>();
            string[] rowStrs = dfr.ReadLine(2);
            if (rowStrs != null)
            {
                var model = ParseRowData(rowStrs);
                if (model != null)
                {
                    cacheList.Add(model);
                }
                currentData = model;
            }
        }

        protected override TableGameConfigure ParseRowData(string[] rowData)
        {
            TableGameConfigure data = new TableGameConfigure();
            			data.Float2Float2HP = double.Parse(rowData[0]);
			data.Float2Break2HP = double.Parse(rowData[1]);
			data.Float2Normal2HP = double.Parse(rowData[2]);
			data.Float2None2HP = double.Parse(rowData[3]);
			data.Break2Float2HP = double.Parse(rowData[4]);
			data.Break2Break2HP = double.Parse(rowData[5]);
			data.Break2Normal2HP = double.Parse(rowData[6]);
			data.Break2None2HP = double.Parse(rowData[7]);
			data.Normal2Float2HP = double.Parse(rowData[8]);
			data.Normal2Break2HP = double.Parse(rowData[9]);
			data.Normal2Normal2HP = double.Parse(rowData[10]);
			data.Normal2None2HP = double.Parse(rowData[11]);
			data.None2Float2HP = double.Parse(rowData[12]);
			data.None2Break2HP = double.Parse(rowData[13]);
			data.None2Normal2HP = double.Parse(rowData[14]);
			data.None2None2HP = double.Parse(rowData[15]);
			data.Float2Float2AP = double.Parse(rowData[16]);
			data.Float2Break2AP = double.Parse(rowData[17]);
			data.Float2Normal2AP = double.Parse(rowData[18]);
			data.Float2None2AP = double.Parse(rowData[19]);
			data.Break2Float2AP = double.Parse(rowData[20]);
			data.Break2Break2AP = double.Parse(rowData[21]);
			data.Break2Normal2AP = double.Parse(rowData[22]);
			data.Break2None2AP = double.Parse(rowData[23]);
			data.Normal2Float2AP = double.Parse(rowData[24]);
			data.Normal2Break2AP = double.Parse(rowData[25]);
			data.Normal2Normal2AP = double.Parse(rowData[26]);
			data.Normal2None2AP = double.Parse(rowData[27]);
			data.None2Float2AP = double.Parse(rowData[28]);
			data.None2Break2AP = double.Parse(rowData[29]);
			data.None2Normal2AP = double.Parse(rowData[30]);
			data.None2None2AP = double.Parse(rowData[31]);
			data.UTIL_TRIGGER_ANGERCOUNT = int.Parse(rowData[32]);
			data.UTIL_MAXANGER = int.Parse(rowData[33]);
			data.HorizontalNum = int.Parse(rowData[34]);
			data.VerticalNum = int.Parse(rowData[35]);
			data.FloatDuration = double.Parse(rowData[36]);
			data.BreakDuration = double.Parse(rowData[37]);
			data.TransLimitTime = int.Parse(rowData[38]);
			data.comboBreakTime = double.Parse(rowData[39]);
			data.moveToSkillTime = double.Parse(rowData[40]);
			data.endSkillToBackMoveTime = double.Parse(rowData[41]);
			data.moveBackTime = double.Parse(rowData[42]);
			data.ultMoveToSkillTime = double.Parse(rowData[43]);
			data.CardExp2Cion = double.Parse(rowData[44]);
			data.BeHitAddAngerBaseVal = int.Parse(rowData[45]);
			data.UTL_Round_CoolDown = int.Parse(rowData[46]);
			data.SKILL_Round_CoolDown = int.Parse(rowData[47]);
			data.SkillCoolDown = int.Parse(rowData[48]);
			data.FormationBlockX = double.Parse(rowData[49]);
			data.FormationBlockZ = double.Parse(rowData[50]);
			data.FormationCenterOffset = double.Parse(rowData[51]);
			data.FormationPlayer3Pos = rowData [52];
			data.FormationPlayer7Pos = rowData [53];
			data.FormationPlayer9Pos = rowData [54];
			data.FormationPlayer13Pos = rowData [55];
			data.ContinueAttackWaitTimeout = double.Parse(rowData[56]);
			data.UltimateEndCameraTime = double.Parse(rowData[57]);
			data.DeadParticleId = rowData [58];
			data.RushParticleId = rowData [59];
			data.AttackOverLapDistance = double.Parse(rowData[60]);
			data.UltimateSingParticleId = rowData [61];
			data.RoundWaitForUltimateTime = double.Parse(rowData[62]);
			data.ShowCampTime = double.Parse(rowData[63]);
			data.combohitAddNum = int.Parse(rowData[64]);
			data.combohitdamageFactor = double.Parse(rowData[65]);
			data.autobattle_watitimer = double.Parse(rowData[66]);
			data.fightpower_att_factor = double.Parse(rowData[67]);
			data.fightpower_hp_factor = double.Parse(rowData[68]);
			data.fightpower_pdef_factor = double.Parse(rowData[69]);
			data.fightpower_mdef_factor = double.Parse(rowData[70]);
			data.Skill_dmg_Factor1 = double.Parse(rowData[71]);
			data.Skill_dmg_Factor2 = double.Parse(rowData[72]);
			data.Skill_dmg_Factor3 = double.Parse(rowData[73]);
			data.Skill_dmg_Factor4 = double.Parse(rowData[74]);
			data.BeHitAddAngerPercent = double.Parse(rowData[75]);
			data.TreasureStrengthCostExpToCoin = int.Parse(rowData[76]);
			data.HeroExpCopyStamina = int.Parse(rowData[77]);
			data.TreasureExpCopyStamina = int.Parse(rowData[78]);
			data.CoinCopyStamina = int.Parse(rowData[79]);
			data.EquipRefineExpCopyStamina = int.Parse(rowData[80]);
			data.AdvanceCopyStamina = int.Parse(rowData[81]);
			data.TreasureRefineExpCopyStamina = int.Parse(rowData[82]);
			data.HeroExpCopyOpenDay = rowData [83];
			data.TreasureExpCopyOpenDay = rowData [84];
			data.CoinCopyOpenDay = rowData [85];
			data.EquipRefineExpCopyOpenDay = rowData [86];
			data.AdvanceCopyOpenDay = rowData [87];
			data.TreasureRefineExpCopyOpenDay = rowData [88];
			data.FloatBreakDodgeFactor = double.Parse(rowData[89]);
			data.EquipRefineCostItemEnum = rowData [90];
			data.HeroStrengthCostExpToCoin = int.Parse(rowData[91]);
			data.EquipMaxRefineValue = int.Parse(rowData[92]);
			data.WarriorTraining1 = rowData [93];
			data.WarriorTraining2 = rowData [94];
			data.WarriorTraining3 = rowData [95];
			data.RobotPlayerNum = int.Parse(rowData[96]);
			data.PVPPushLow = double.Parse(rowData[97]);
			data.PVPPushHigh = double.Parse(rowData[98]);
			data.PVPPushLowNum = int.Parse(rowData[99]);
			data.PVPPushHighNum = int.Parse(rowData[100]);
			data.TreaStreagthCoinPerExp = int.Parse(rowData[101]);
			data.TreaSweepLevel = int.Parse(rowData[102]);
			data.TreaSweepCostEnergy = int.Parse(rowData[103]);
			data.TreaSweepExpPerLevel = int.Parse(rowData[104]);
			data.TreaSweepCoinPerLevel = int.Parse(rowData[105]);
			data.WarriorRecruitCostType1 = rowData [106];
			data.WarriorRecruitCostType1NumType2 = rowData [107];
			data.WarriorRecruitCostType1FreeTimes = int.Parse(rowData[108]);
			data.WarriorRecruitCostType1Time = int.Parse(rowData[109]);
			data.WarriorRecruitCostType1Must = int.Parse(rowData[110]);
			data.WarriorRecruitCostType1Level = int.Parse(rowData[111]);
			data.WarriorRecruitCostType2 = rowData [112];
			data.WarriorRecruitCostType2Item = rowData [113];
			data.WarriorRecruitCostType2NumType2Item = rowData [114];
			data.WarriorRecruitCostType2NumType2 = rowData [115];
			data.WarriorRecruitCostType2Time = int.Parse(rowData[116]);
			data.WarriorRecruitCostType2Must = int.Parse(rowData[117]);
			data.WarriorRecruitCostType2Level = int.Parse(rowData[118]);
			data.WarriorRecruitCostType3 = rowData [119];
			data.WarriorRecruitCostType3NumType2 = rowData [120];
			data.WarriorRecruitCostType3MaxTimes = int.Parse(rowData[121]);
			data.WarriorRecruitCostType3Time = int.Parse(rowData[122]);
			data.WarriorRecruitCostType3TimeSwitch = int.Parse(rowData[123]);
			data.WarriorRecruitCostType3Must = int.Parse(rowData[124]);
			data.WarriorRecruitCostType3Level = int.Parse(rowData[125]);
			data.WarriorRecruitCostType3LuckyLimit = int.Parse(rowData[126]);
			data.WarriorRecruitCostType3LuckyPerValue = int.Parse(rowData[127]);
			data.WarriorRecruitCostType3LevelShow = int.Parse(rowData[128]);
			data.fight_max_round = int.Parse(rowData[129]);
			data.floatFalloff = double.Parse(rowData[130]);
			data.MaxGetFriendEnergy = int.Parse(rowData[131]);
			data.RefreshShopGetFreeTime = int.Parse(rowData[132]);
			data.RefreshShopRefreshItem = rowData [133];
			data.RefreshShopRefreshLight = rowData [134];
			data.monsterMoveSkillTime = double.Parse(rowData[135]);
			data.MysteryshopUnlockLevel = int.Parse(rowData[136]);
			data.RefreshShopMaxFreeTimes = int.Parse(rowData[137]);
			data.DeleteRewardDays = int.Parse(rowData[138]);
			data.CopyResetDiamondCost = rowData [139];
			data.Plunder5MinLevel = int.Parse(rowData[140]);
			data.Plunder5VipMinLevel = int.Parse(rowData[141]);
			data.EditNameCost = rowData [142];
			data.PVPLevel = int.Parse(rowData[143]);
			data.RobTreasureLevel = int.Parse(rowData[144]);
			data.FightTenLevel = int.Parse(rowData[145]);
			data.SkipBattleLevel = int.Parse(rowData[146]);
			data.SkipBattleVipLevel = int.Parse(rowData[147]);
			data.HeroBreachedLevel = int.Parse(rowData[148]);
			data.WorldTreeLevel = int.Parse(rowData[149]);
			data.RecycleRoomLevel = int.Parse(rowData[150]);
			data.OutdoorLevel = int.Parse(rowData[151]);
			data.INCarnatingLevel = int.Parse(rowData[152]);
			data.ActivityBattleLevel = int.Parse(rowData[153]);
			data.TeamBattleLevel = int.Parse(rowData[154]);
			data.SailingLevel = int.Parse(rowData[155]);
			data.WantedMissionLevel = int.Parse(rowData[156]);
			data.ChatVipLevel = int.Parse(rowData[157]);
			data.ChatLevel = int.Parse(rowData[158]);
			data.ChatInterval = int.Parse(rowData[159]);
			data.FriendWishLevel = int.Parse(rowData[160]);
			data.EquipBagCapacity = int.Parse(rowData[161]);
			data.FirstRechargeReward = rowData [162];
			data.FightTenVIPLevel = int.Parse(rowData[163]);
			data.HeroTrainLevel = int.Parse(rowData[164]);
			data.CopyEnemyAIDeltaTime = double.Parse(rowData[165]);
			data.PlayerAIDeltaTime = double.Parse(rowData[166]);
			data.CanBuyMonthCard = int.Parse(rowData[167]);
			data.AnnouncementListUrl = rowData [168];
			data.SwapMainHeroLevel = int.Parse(rowData[169]);
			data.array_pos1 = int.Parse(rowData[170]);
			data.array_pos2 = int.Parse(rowData[171]);
			data.array_pos3 = int.Parse(rowData[172]);
			data.array_pos4 = int.Parse(rowData[173]);
			data.array_help_pos1 = int.Parse(rowData[174]);
			data.array_help_pos2 = int.Parse(rowData[175]);
			data.array_help_pos3 = int.Parse(rowData[176]);
			data.array_help_pos4 = int.Parse(rowData[177]);
			data.array_help_pos5 = int.Parse(rowData[178]);
			data.array_help_pos6 = int.Parse(rowData[179]);
			data.AOIPlayerCountLimitClient = int.Parse(rowData[180]);
			data.AOIPlayerCountLimitServer = int.Parse(rowData[181]);
			data.BreakGetMagicStonePercent = double.Parse(rowData[182]);
			data.MagicStoneBuff = rowData [183];
			data.InitialItem = rowData [184];
			data.GuideWarriorRecruitCostType2 = rowData [185];
			data.WarriorRecruitCostType2SpaceProbality0 = int.Parse(rowData[186]);
			data.WarriorRecruitCostType2SpaceProbality1 = int.Parse(rowData[187]);
			data.WarriorRecruitCostType2SpaceProbality2 = int.Parse(rowData[188]);
			data.WarriorRecruitCostType2Quality20Weighting = int.Parse(rowData[189]);
			data.WarriorRecruitCostType2Quality18Weighting = int.Parse(rowData[190]);
			data.ShieldBuffBeHitParticleId = rowData [191];
			data.ShieldBuffBeHitParticleMount = rowData [192];
			data.ParticleScaleDependence = rowData [193];
			data.LuxurySignRechargeAmount = double.Parse(rowData[194]);
			data.MaxChatNumber = int.Parse(rowData[195]);
			data.FirstRechargeGiftRate = int.Parse(rowData[196]);
			data.BlockBeHitParticleId = rowData [197];
			data.BlockBeHitParticleMount = rowData [198];
			data.HeadshotBeHitParticleId = rowData [199];
			data.HeadshotBeHitParticleMount = rowData [200];
			data.MaxFriendNum = int.Parse(rowData[201]);
			data.WorldBossMaxBuyCount = int.Parse(rowData[202]);
			data.WorldBossPerBuyPrice = rowData [203];
			data.WorldBossFreeTimes = int.Parse(rowData[204]);
			data.WorldBossRecoverTime = int.Parse(rowData[205]);
			data.ExpeditionTimeRate = rowData [206];
			data.ExpeditionRefreshFreeTime = int.Parse(rowData[207]);
			data.ExpeditionExtraLuckyReward = int.Parse(rowData[208]);
			data.ExpeditionFailExp = int.Parse(rowData[209]);
			data.ExpeditionHelpCount = int.Parse(rowData[210]);
			data.ExpeditionHelperReward = rowData [211];
			data.ExpeditionEnergyCostPerHour = int.Parse(rowData[212]);
			data.ExpeditionRefreshCost = rowData [213];
			data.LifeSkillTirednessReset = rowData [214];
			data.MaxWantedAttTimes = int.Parse(rowData[215]);
			data.WantedAttRecoveryTime = int.Parse(rowData[216]);
			data.WantedAttMultiples = double.Parse(rowData[217]);
			data.HpRecoveryPercent = rowData [218];
			data.FieldPVPCountDown = int.Parse(rowData[219]);
			data.FieldPVPKeep = int.Parse(rowData[220]);
			data.LifeSkillFightTenTimeCost = int.Parse(rowData[221]);
			data.Pvp_Lose_Coin_Percent = double.Parse(rowData[222]);
			data.Pvp_Lose_Coin_Max = long.Parse(rowData[223]);
			data.Pvp_Rob_Coin_TotalMax = long.Parse(rowData[224]);
			data.MiningHoe = rowData [225];
			data.FishingRod = rowData [226];
			data.Resurrection = rowData [227];
			data.Resurrection2Safe = double.Parse(rowData[228]);
			data.FishModel = rowData [229];
			data.FishNoReward = rowData [230];
			data.MaxKillLimit = int.Parse(rowData[231]);
			data.FieldBuyLife = rowData [232];
			data.FirstRedeemCost = rowData [233];
			data.KillPerCost = rowData [234];
			data.RushLimitLevel = int.Parse(rowData[235]);
			data.SideMonsterFightKeepMaxTime = int.Parse(rowData[236]);
			data.GemBeComposeMaxLevel = int.Parse(rowData[237]);
			data.AddGoodReward = rowData [238];
			data.AddGoodTimes = int.Parse(rowData[239]);
			data.FieldSelfHpHeight = double.Parse(rowData[240]);
			data.FieldOtherHpHeight = double.Parse(rowData[241]);
			data.FieldMonsterHpHeight = double.Parse(rowData[242]);
			data.WarriorRebuildCost = rowData [243];
			data.EquipmentRebuildCost = rowData [244];
			data.RushOneKeyStarLevelLimit = int.Parse(rowData[245]);
			data.RushOneKeyStarVipLevelLimit = int.Parse(rowData[246]);
			data.RushSweepTopLevelLimit = int.Parse(rowData[247]);
			data.RushSweepTopVipLevelLimit = int.Parse(rowData[248]);
			data.ReduceKills = int.Parse(rowData[249]);
			data.GuideFish = rowData [250];
			data.GuideMine = rowData [251];
			data.CopyRedBallReward = rowData [252];
			data.CopyBlueBallReward = rowData [253];
			data.CopyBallRewardMax = rowData [254];
			data.FieldHpCD = int.Parse(rowData[255]);
			data.InvincibleTime = double.Parse(rowData[256]);
			data.BigClientReward = rowData [257];
			data.MaxFrameRateStr = rowData [258];
			data.WWWCountStr = rowData [259];
			data.UnionOpenLevel = int.Parse(rowData[260]);
			data.UnionApplyMaxNum = int.Parse(rowData[261]);
			data.UnionCreateCost = rowData [262];
			data.UnionViceNum = int.Parse(rowData[263]);
			data.UnionLoginActiveScore = int.Parse(rowData[264]);
			data.UnionGetStaminaDaily = int.Parse(rowData[265]);
			data.TitleOpenLevel = int.Parse(rowData[266]);
			data.BuyCoinCountOfRecruitType1 = int.Parse(rowData[267]);
			data.BuyCoinCountOfRecruitType2 = int.Parse(rowData[268]);
			data.BuyCoinCountOfRecruitType3 = int.Parse(rowData[269]);
			data.EquipForgeLevel = int.Parse(rowData[270]);
			data.UnionNameLengthLimit = int.Parse(rowData[271]);
			data.UnionDeclarationLengthLimit = int.Parse(rowData[272]);
			data.UnionNoticeLengthLimit = int.Parse(rowData[273]);
			data.MaxRenderModel = rowData [274];
			data.ExpeditionLuckRatePerSkill = int.Parse(rowData[275]);
			data.MaxSideBossAttTimesReward = int.Parse(rowData[276]);
			data.MaxSideMonsterKillTimesReward = int.Parse(rowData[277]);
			data.MaxSideBossKillTimesReward = int.Parse(rowData[278]);
			data.UnionLoginScore = int.Parse(rowData[279]);
			data.UnionUseBadgeScore = int.Parse(rowData[280]);
			data.UnionMaxDailyDonateCoin = int.Parse(rowData[281]);
			data.UnionMaxDailyDonateBadge = int.Parse(rowData[282]);
			data.UnionMinDailyDonateCoin = int.Parse(rowData[283]);
			data.UnionMinDailyDonateBadge = int.Parse(rowData[284]);
			data.UnionDonateCoinContributVal = int.Parse(rowData[285]);
			data.UnionDonateBadgeContributVal = int.Parse(rowData[286]);
			data.UnionDonateCoinDonateVal = int.Parse(rowData[287]);
			data.UnionDonateBadgeDonateVal = int.Parse(rowData[288]);
			data.UnionFirstContributeCoinScore = int.Parse(rowData[289]);
			data.UnionPrayContributeCost = int.Parse(rowData[290]);
			data.UnionQuitInterval = int.Parse(rowData[291]);
			data.UnionPrayDailyCount = int.Parse(rowData[292]);
			data.UnionPrayDuration = int.Parse(rowData[293]);
			data.UnionOpenHeroStatueCoinCost = int.Parse(rowData[294]);
			data.UnionOpenHeroStatueBadgeCost = int.Parse(rowData[295]);
			data.UnionOpenGuardTreeCoinCost = int.Parse(rowData[296]);
			data.UnionOpenGuardTreeBadgeCost = int.Parse(rowData[297]);
			data.FightMaxRoundNum = int.Parse(rowData[298]);
			data.FuncNavStaminaLimit = int.Parse(rowData[299]);
			data.FuncNavEnergyLimit = int.Parse(rowData[300]);
			data.FuncNavTirednessLimit = int.Parse(rowData[301]);
			data.UnionFightResNum = int.Parse(rowData[302]);
			data.UnionFightCheckPvpDistance = double.Parse(rowData[303]);
			data.UnionFightCheckPvpTimeDelay = double.Parse(rowData[304]);
			data.UnionFightMoveHz = int.Parse(rowData[305]);
			data.UnionFightDuration = double.Parse(rowData[306]);
			data.UnionFightReviveTime = rowData [307];
			data.UnionFightPlayerMoveSpeed = double.Parse(rowData[308]);
			data.UnionFightResConvertOfferFactor = double.Parse(rowData[309]);
			data.UnionFightKillPlayerRewardScore = double.Parse(rowData[310]);
			data.UnionFightArriveResourcePointDistance = double.Parse(rowData[311]);
			data.UnionFightForceSyncPositionRange = double.Parse(rowData[312]);
			data.UnionFightArriveNpc = double.Parse(rowData[313]);
			data.UnionFightArriveOther = double.Parse(rowData[314]);
			data.UnionFightArriveGuard = double.Parse(rowData[315]);
			data.UnionFightCanClickNpcRange = double.Parse(rowData[316]);
			data.UnionFightCanClickGuardRange = double.Parse(rowData[317]);
			data.UnionFightCanClickResRange = double.Parse(rowData[318]);
			data.UnionFightCanClickMonsterRange = double.Parse(rowData[319]);
			data.UnionFightCanClickOtherRange = double.Parse(rowData[320]);
			data.UnionFightArriveMonster = double.Parse(rowData[321]);
			data.UnionFightResMinDistance = double.Parse(rowData[322]);
			data.UnionFightNpcMinDistance = double.Parse(rowData[323]);
			data.UnionFighterNum = int.Parse(rowData[324]);
			data.UFMaxAdjustApplyTimes = int.Parse(rowData[325]);
			data.UFMaxPlayerAjustTime = int.Parse(rowData[326]);
			data.UFLeaderFocusLastTime = double.Parse(rowData[327]);
			data.UFLeaderFocusCDTime = double.Parse(rowData[328]);
			data.PetShopRefreshCost = rowData [329];
			data.PetShopRefreshCount = int.Parse(rowData[330]);
			data.PetMaxDistanceFromMaster = double.Parse(rowData[331]);
			data.UnionFightWinReward = rowData [332];
			data.UnionFightLoseReward = rowData [333];
			data.UnionFightKillPlayerRewardOffer = double.Parse(rowData[334]);
			data.UnionFightPersonalPartipationReward = rowData [335];
			data.UnionFightPersonalWinReward = rowData [336];
			data.UnionFightPersonalMVPReward = rowData [337];
			data.UnionFightPersonalFinishMissionReward = rowData [338];
			data.MarqueeSpeed = int.Parse(rowData[339]);
			data.MarqueeCount = int.Parse(rowData[340]);
			data.PetRebuildCost = rowData [341];
			data.UnionFightGateState = rowData [342];
			data.UnionFightChariotState = rowData [343];
			data.UnionFightOpenGateDis = double.Parse(rowData[344]);

            return data;
        }
    }

}
